package fr.upstlse.glre.client.espacededie;

import com.extjs.gxt.ui.client.widget.MessageBox;
import com.google.gwt.user.client.ui.RootPanel;

import fr.upstlse.glre.client.administration.EspaceAdministration;
import fr.upstlse.glre.client.espaceperso.EspaceEtudiant;
import fr.upstlse.glre.client.professeur.EspaceProfesseur;
import fr.upstlse.glre.client.secretaire.EspaceSecretaire;
import fr.upstlse.glre.client.vo.user.UserRoleVOGWT;

public class EspaceFactory {

	public static void getEspaceDedie(long pId, String pRole) {
		IEspaceDebie<?> lEspaceDebie = null;
		
		if (pRole.compareTo(UserRoleVOGWT.ADMIN.getValue()) == 0) {
			lEspaceDebie = EspaceAdministration.getInstance();
		} 
		else if (pRole.compareTo(UserRoleVOGWT.SECRETAIRE.getValue()) == 0) {
			lEspaceDebie = EspaceSecretaire.getInstance();
		}
		else if (pRole.compareTo(UserRoleVOGWT.ETUDIANT.getValue()) == 0) {
			lEspaceDebie = EspaceEtudiant.getInstance();
		} 
		else if (pRole.compareTo(UserRoleVOGWT.PROFESSEUR.getValue()) == 0) {

			lEspaceDebie = EspaceProfesseur.getInstance();
		} 
		else {
			MessageBox
					.alert(
							"Erreur",
							"L'utilisateur n'est pas correctement définit (rôle "
									+ pRole
									+ "), veuillez contacter l'administrateur du site (admin@m2pglre.ups-tlse.fr",
							null);
		}

		if (lEspaceDebie != null) {
			RootPanel.get().clear();
			lEspaceDebie.createEspace(pId);
			RootPanel.get().add(lEspaceDebie.getViewport());
			lEspaceDebie.getViewport().layout();
		}
	}

}
